]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
networkAgent: Use VPN specific method to add VPN secrets
authorSebastian Keller <skeller@gnome.org>
Mon, 14 Dec 2020 15:27:45 +0000 (16:27 +0100)
committerSebastian Keller <skeller@gnome.org>
Fri, 25 Dec 2020 10:43:13 +0000 (11:43 +0100)
Use the method introduced in the previous commit to add VPN secrets
instead of adding them as regular secrets/passwords. This ensures
correct serialization of these secrets.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2105

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1535>

js/ui/components/networkAgent.js

index 4367a2f2a042156234bbf5a4e67e0ef32a4250e9..29b8190cc1f1f03c40e4a040ebf5ab3c5c52996c 100644 (file)
@@ -132,8 +132,12 @@ class NetworkSecretDialog extends ModalDialog.ModalDialog {
         for (let i = 0; i < this._content.secrets.length; i++) {
             let secret = this._content.secrets[i];
             valid = valid && secret.valid;
-            if (secret.key != null)
-                this._agent.set_password(this._requestId, secret.key, secret.value);
+            if (secret.key !== null) {
+                if (this._settingName === 'vpn')
+                    this._agent.add_vpn_secret(this._requestId, secret.key, secret.value);
+                else
+                    this._agent.set_password(this._requestId, secret.key, secret.value);
+            }
         }
 
         if (valid) {
@@ -476,7 +480,7 @@ var VPNRequestHandler = class {
                     this._stdin.write('QUIT\n\n', null);
                 } catch (e) { /* ignore broken pipe errors */ }
             } else {
-                this._agent.set_password(this._requestId, this._previousLine, line);
+                this._agent.add_vpn_secret(this._requestId, this._previousLine, line);
                 this._previousLine = undefined;
             }
         } else {
@@ -552,7 +556,7 @@ var VPNRequestHandler = class {
                     if (!value.length) // Ignore empty secrets
                         continue;
 
-                    this._agent.set_password(this._requestId, groups[i], value);
+                    this._agent.add_vpn_secret(this._requestId, groups[i], value);
                 }
             }
         } catch (e) {